package com.an.test;

import com.an.utils.SumTool;

/**
 * @author Li
 * @Date 2023/4/10 10:21
 */
public class ReversalArray {
    public static void main(String[] args) {
        /**
         * 创建一个数组
         * 将数组进行反转
         */
        int[] array1 = SumTool.getArray(10);
        int[] array2 = new int[array1.length]; //保证两个数组的长度相等
        array1 = revesal(array1,array2);
        SumTool.printArray(array1);


    }

    /**
     * 将第一个数组的第一个数放在第二个数组的最后一个位置
     * @param array1
     * @param array2
     * @return
     */
//    private static int[] revesal(int[] array1, int[] array2) {
//        for (int i = 0; i <array1.length ; i++) {
//            array2[i] = array1[array1.length-i-1];
//        }
//        return array2;
//
//    }

    /**
     * 优化，缩减比较次数
     * 将array1第一个元素赋值给一个变量temp
     * 再将最后一个元素赋值给array1的第一个位置
     * 最后将temp的值赋值给array1的最后一个位置
     * 这样就完成了数组的反转
     * @param array1
     * @param array2
     * @return
     */
    private static int[] revesal(int[] array1, int[] array2) {
        for (int i = 0; i <array1.length/2 ; i++) {
            int temp = array1[i];
            array1[i] = array1[array1.length-i-1];
            array1[array1.length-i-1] = temp;
        }
        return array1;

    }
}
